package com.mingda.weathermagiccenter.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import lombok.Data;

/**
 * 
 * @TableName ws_station_data_cur
 */
@TableName(value ="ws_station_data_cur")
@Data
public class WsStationDataCur implements Serializable {
    /**
     * 站点ID
     */
    @TableId(value = "stationkey")
    private String stationkey;

    /**
     * 时间取整点数据
     */
    @TableField(value = "timebase")
    private LocalDateTime timebase;

    /**
     * 气压
     */
    @TableField(value = "pres")
    private Float pres;

    /**
     * 
     */
    @TableField(value = "pres_sea")
    private Float presSea;

    /**
     * 气温
     */
    @TableField(value = "temp")
    private Float temp;

    /**
     * 最高温度
     */
    @TableField(value = "temp_max")
    private Float tempMax;

    /**
     * 最低温度
     */
    @TableField(value = "temp_min")
    private Float tempMin;

    /**
     * 湿度
     */
    @TableField(value = "humi")
    private Float humi;

    /**
     * 
     */
    @TableField(value = "humi_min")
    private Float humiMin;

    /**
     * 降雨量
     */
    @TableField(value = "prec")
    private Float prec;

    /**
     * 风向
     */
    @TableField(value = "win_10_dir")
    private Integer win10Dir;

    /**
     * 风力
     */
    @TableField(value = "win_10_vel")
    private Float win10Vel;

    /**
     * 瞬时风向
     */
    @TableField(value = "win_inst_dir")
    private Integer winInstDir;

    /**
     * 瞬时风力
     */
    @TableField(value = "win_inst_vel")
    private Float winInstVel;

    /**
     * 
     */
    @TableField(value = "snow")
    private Float snow;

    /**
     * 
     */
    @TableField(value = "wep_now")
    private Integer wepNow;

    /**
     * YYYYMM表分区
     */
    @TableField(value = "month")
    private String month;

    /**
     * 天气情况文本
     */
    @TableField(value = "wep_txt")
    private String wepTxt;

    /**
     * 土壤含水率
     */
    @TableField(value = "waterrate")
    private Float waterrate;

    /**
     * 地表覆盖物表面湿度
     */
    @TableField(value = "waterrate_out_plant")
    private Float waterrateOutPlant;

    /**
     * 地表覆盖物内部湿度
     */
    @TableField(value = "waterrate_inside_plant")
    private Float waterrateInsidePlant;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        WsStationDataCur other = (WsStationDataCur) that;
        return (this.getStationkey() == null ? other.getStationkey() == null : this.getStationkey().equals(other.getStationkey()))
            && (this.getTimebase() == null ? other.getTimebase() == null : this.getTimebase().equals(other.getTimebase()))
            && (this.getPres() == null ? other.getPres() == null : this.getPres().equals(other.getPres()))
            && (this.getPresSea() == null ? other.getPresSea() == null : this.getPresSea().equals(other.getPresSea()))
            && (this.getTemp() == null ? other.getTemp() == null : this.getTemp().equals(other.getTemp()))
            && (this.getTempMax() == null ? other.getTempMax() == null : this.getTempMax().equals(other.getTempMax()))
            && (this.getTempMin() == null ? other.getTempMin() == null : this.getTempMin().equals(other.getTempMin()))
            && (this.getHumi() == null ? other.getHumi() == null : this.getHumi().equals(other.getHumi()))
            && (this.getHumiMin() == null ? other.getHumiMin() == null : this.getHumiMin().equals(other.getHumiMin()))
            && (this.getPrec() == null ? other.getPrec() == null : this.getPrec().equals(other.getPrec()))
            && (this.getWin10Dir() == null ? other.getWin10Dir() == null : this.getWin10Dir().equals(other.getWin10Dir()))
            && (this.getWin10Vel() == null ? other.getWin10Vel() == null : this.getWin10Vel().equals(other.getWin10Vel()))
            && (this.getWinInstDir() == null ? other.getWinInstDir() == null : this.getWinInstDir().equals(other.getWinInstDir()))
            && (this.getWinInstVel() == null ? other.getWinInstVel() == null : this.getWinInstVel().equals(other.getWinInstVel()))
            && (this.getSnow() == null ? other.getSnow() == null : this.getSnow().equals(other.getSnow()))
            && (this.getWepNow() == null ? other.getWepNow() == null : this.getWepNow().equals(other.getWepNow()))
            && (this.getMonth() == null ? other.getMonth() == null : this.getMonth().equals(other.getMonth()))
            && (this.getWepTxt() == null ? other.getWepTxt() == null : this.getWepTxt().equals(other.getWepTxt()))
            && (this.getWaterrate() == null ? other.getWaterrate() == null : this.getWaterrate().equals(other.getWaterrate()))
            && (this.getWaterrateOutPlant() == null ? other.getWaterrateOutPlant() == null : this.getWaterrateOutPlant().equals(other.getWaterrateOutPlant()))
            && (this.getWaterrateInsidePlant() == null ? other.getWaterrateInsidePlant() == null : this.getWaterrateInsidePlant().equals(other.getWaterrateInsidePlant()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getStationkey() == null) ? 0 : getStationkey().hashCode());
        result = prime * result + ((getTimebase() == null) ? 0 : getTimebase().hashCode());
        result = prime * result + ((getPres() == null) ? 0 : getPres().hashCode());
        result = prime * result + ((getPresSea() == null) ? 0 : getPresSea().hashCode());
        result = prime * result + ((getTemp() == null) ? 0 : getTemp().hashCode());
        result = prime * result + ((getTempMax() == null) ? 0 : getTempMax().hashCode());
        result = prime * result + ((getTempMin() == null) ? 0 : getTempMin().hashCode());
        result = prime * result + ((getHumi() == null) ? 0 : getHumi().hashCode());
        result = prime * result + ((getHumiMin() == null) ? 0 : getHumiMin().hashCode());
        result = prime * result + ((getPrec() == null) ? 0 : getPrec().hashCode());
        result = prime * result + ((getWin10Dir() == null) ? 0 : getWin10Dir().hashCode());
        result = prime * result + ((getWin10Vel() == null) ? 0 : getWin10Vel().hashCode());
        result = prime * result + ((getWinInstDir() == null) ? 0 : getWinInstDir().hashCode());
        result = prime * result + ((getWinInstVel() == null) ? 0 : getWinInstVel().hashCode());
        result = prime * result + ((getSnow() == null) ? 0 : getSnow().hashCode());
        result = prime * result + ((getWepNow() == null) ? 0 : getWepNow().hashCode());
        result = prime * result + ((getMonth() == null) ? 0 : getMonth().hashCode());
        result = prime * result + ((getWepTxt() == null) ? 0 : getWepTxt().hashCode());
        result = prime * result + ((getWaterrate() == null) ? 0 : getWaterrate().hashCode());
        result = prime * result + ((getWaterrateOutPlant() == null) ? 0 : getWaterrateOutPlant().hashCode());
        result = prime * result + ((getWaterrateInsidePlant() == null) ? 0 : getWaterrateInsidePlant().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", stationkey=").append(stationkey);
        sb.append(", timebase=").append(timebase);
        sb.append(", pres=").append(pres);
        sb.append(", presSea=").append(presSea);
        sb.append(", temp=").append(temp);
        sb.append(", tempMax=").append(tempMax);
        sb.append(", tempMin=").append(tempMin);
        sb.append(", humi=").append(humi);
        sb.append(", humiMin=").append(humiMin);
        sb.append(", prec=").append(prec);
        sb.append(", win10Dir=").append(win10Dir);
        sb.append(", win10Vel=").append(win10Vel);
        sb.append(", winInstDir=").append(winInstDir);
        sb.append(", winInstVel=").append(winInstVel);
        sb.append(", snow=").append(snow);
        sb.append(", wepNow=").append(wepNow);
        sb.append(", month=").append(month);
        sb.append(", wepTxt=").append(wepTxt);
        sb.append(", waterrate=").append(waterrate);
        sb.append(", waterrateOutPlant=").append(waterrateOutPlant);
        sb.append(", waterrateInsidePlant=").append(waterrateInsidePlant);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}